1
Tassonomia della Concorrenza: Processi, Multiplexing I/O e Thread
AI031Lesson 12
00:00

Nel campo dei sistemi informatici, concorrenza a livello applicativo è il sovrapposizione deliberata di flussi logici di controllo per migliorare prestazioni e reattività. È un'astrazione funzionale: un programma viene suddiviso in compiti indipendenti che possono essere intercalati o eseguiti in parallelo.

1. La Tassonomia della Concorrenza

Gli sviluppatori scelgono generalmente tra tre meccanismi fondamentali per gestire questi flussi concorrenti:

  • Processi: Alta isolamento con spazi di indirizzamento separati; richiede IPC mediato dal kernel.
  • Multiplexing I/O: Un singolo flusso che cambia manualmente tra eventi "pronti" (macchine a stati).
  • Thread: Flussi leggeri che condividono uno spazio di indirizzamento virtuale unico per uno scambio semplice dei dati.
Programmi ConcorrentiSequenzialeParalleloMotivazioni Chiave:Nascondere la latenza I/OReattività dell'Interfaccia UtenteScalabilità su Multi-coreServer Multi-client

2. Esecuzione Logica vs Fisica

Mentre tutti i programmi paralleli sono concorrenti, non tutti i programmi concorrenti sono paralleli. Il parallelismo è l'esecuzione fisica di flussi su core hardware separati. La concorrenza è il disegno logico che permette tale esecuzione.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>